1. Field of the Invention
The present invention relates generally to data processing and, more particularly, to systems and methods for aggregating large numbers of devices.
2. Description of Related Art
An issue that is beginning to arise in network environments involves the answer to the question of how to connect a large number of customer devices to a single point. The issue is particularly troublesome when the number of customer devices becomes quite large, such as tens of thousands or hundreds of thousands or more customer devices.
Some existing systems address this issue. FIG. 1 is a diagram of one existing system 100 for connecting a large number of customer devices. System 100 includes customer devices (CDs) 110-1 through 110-N (collectively referred to as customer devices 110) connected to device 120 via switch 130 and router 140. Customer devices 110 may include personal computers. Device 120 may include a personal computer or a network device, such as a router or switch. Switch 130 and router 140 may include conventional network devices.
When a customer device, such as customer device 110-1, sends a packet to device 120, customer device 110-1 may generate an Internet Protocol (IP) packet. FIG. 2 is a simplified diagram of an IP packet 200. IP packet 200 includes payload 210, source IP address (SAIP) 220, destination IP address (DAIP)) 230, source media access control (MAC) address (SMAC) 240, and destination MAC address (DMAC) 250. Payload 210 includes the data to be transmitted by customer device 110-1. Source IP address 220 includes the IP address associated with the source device (i.e., customer device 110-1). Destination IP address 230 includes the IP address associated with the destination device (i.e., device 120). Source MAC address 240 includes the MAC address associated with customer device 110-1. Destination MAC address 250 includes the MAC address associated with router 140.
Returning to FIG. 1, when customer device 110-1 transmits the packet, switch 130 receives and forwards it to router 140 using destination MAC address 250. When router 140 receives the packet, router 140 reads destination IP address 230 to determine how to route the packet. Router 140 then looks up the MAC address of device 120 using, for example, a MAC address table. Router 140 replaces its MAC address in destination MAC address 250 with the MAC address of device 120. Router 140 also replaces the MAC address of customer device 110-1 in source MAC address 240 with its own MAC address (i.e., the MAC address of router 140). Payload 210, source IF address 220, and destination IP address 230 remain the same. Router 140 then transmits the packet to device 120.
In the opposite direction, when device 120 sends a packet to a customer device, such as customer device 110-1, device 120 may generate an Internet Protocol (IP) packet. FIG. 3 is a simplified diagram of an IP packet 300. IP packet 300 includes destination MAC address (DMAC) 310, source MAC address (SMAC) 320, destination IP address (DAIP) 330, source IP address (SAIP) 340, and payload 350. Destination MAC address 310 includes the MAC address associated with router 140. Source MAC address 320 includes the MAC address associated with the source device (i.e., device 120). Destination IP address 330 includes the IP address associated with the destination device (i.e., customer device 110-1). Source IP address 340 includes the IP address associated with device 120. Payload 350 includes the data to be transmitted to customer device 110-1.
Returning to FIG. 1, when device 120 transmits the packet, router 140 receives the packet and reads destination IP address 330 to determine how to route the packet. Router 140 then looks up the MAC address of customer device 110-1 using, for example, a MAC address table. Router 140 replaces its MAC address in destination MAC address 310 with the MAC address associated with customer device 110-1. Router 140 also replaces the MAC address associated with device 120 in source MAC address 320 with its own MAC address (i.e., the MAC address of router 140). Payload 350, source IP address 340, and destination IP address 330 remain the same. Router 140 then transmits the packet to switch 130. Switch 130 receives and forwards the packet to customer device 110-1 using destination MAC address 310.
When there is a large number of customer devices 110 connected to router 140 (via switch 130), the size of the MAC address table in router 140 becomes unmanageable. For example, when the number of customer devices 110 reaches one hundred thousand or more, the MAC address table requires one hundred thousand or more entries, making it difficult to build. As a result, system 100 is ineffective for aggregating large numbers of customer devices 110.
FIG. 4 is a diagram of another existing system 400 for connecting a large number of customer devices. System 400 includes customer devices (CDs) 410-1 through 410-N (collectively referred to as customer devices 410) connected to device 420 via routers 430-1 through 430-M (collectively referred to as routers 430) and router 440. Customer devices 410 may include any type of customer device, such as personal computers. Device 420 may include a personal computer or a network device, such as a router or switch. Routers 430 and 440 may include conventional network devices.
Routers 430 and 440 do not scale well. For example, in some implementations both routers 430 and 440 are capable of handling approximately one thousand IP addresses. In order to connect a large number of customer devices 410, such as one hundred thousand customer devices 410, it would be necessary to connect approximately one hundred routers 430 to router 440, thereby creating a complex connection of devices.
As a result, there is a need for mechanisms to facilitate connection of large numbers of customer devices to a single point.